#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygame
from pygame.locals import *

class clase:		# Crea una nueva partida
	def __init__(self,main):
		self.select = False
		self.fuente = main["graficos"]["fuente"]["20"]
		self.seleccion = 1
		self.texto = ""
		
		self.fondo = pygame.image.load('recursos/img/config/fondo.png').convert() # Fondo
		self.fondo_rec = self.fondo.get_rect(center=((main["general"]["resolucion"][0]/2,main["general"]["resolucion"][1]/2)))
		self.fondo.blit(self.fuente.render("Nueva Partida", True, (255,255,255)),(25,25))
		
		self.botonsig1 = main["graficos"]["boton"]["normal"].copy()		# Crear pj e ir al juego
		self.botonsig2 = main["graficos"]["boton"]["seleccionado"].copy()
		self.botonsig3 = main["graficos"]["boton"]["presionado"].copy()
		self.botonsig = self.botonsig1
		self.botonsig_rec = self.botonsig.get_rect(bottomright=(self.fondo_rec.right-25,self.fondo_rec.bottom-25))
		tamano = self.fuente.size("Empezar")
		pos = (self.botonsig_rec.width/2-tamano[0]/2,self.botonsig_rec.height/2-tamano[1]/2)
		self.botonsig1.blit(self.fuente.render("Empezar", True, (255,255,255)),pos)
		self.botonsig2.blit(self.fuente.render("Empezar", True, (255,255,255)),pos)
		self.botonsig3.blit(self.fuente.render("Empezar", True, (255,255,255)),pos)
		
		self.botonatras1 = main["graficos"]["boton"]["normal"].copy()	# Volver al menu
		self.botonatras2 = main["graficos"]["boton"]["seleccionado"].copy()
		self.botonatras3 = main["graficos"]["boton"]["presionado"].copy()
		self.botonatras = self.botonatras1
		self.botonatras_rec = self.botonatras.get_rect(bottomleft=(self.fondo_rec.left+25,self.fondo_rec.bottom-25))
		tamano = self.fuente.size("Atras")
		pos = (self.botonatras_rec.width/2-tamano[0]/2,self.botonatras_rec.height/2-tamano[1]/2)
		self.botonatras1.blit(self.fuente.render("Atras", True, (255,255,255)),pos)
		self.botonatras2.blit(self.fuente.render("Atras", True, (255,255,255)),pos)
		self.botonatras3.blit(self.fuente.render("Atras", True, (255,255,255)),pos)
		
	def seleccionar(self,main):
		pass
	
	def click(self,main):	# Controla si se clickeo en algun boton
		if self.select:
			if main["general"]["evento"].type == pygame.MOUSEBUTTONDOWN:
				if main["general"]["evento"].button == 1:
					if self.botonsig_rec.collidepoint(main["general"]["evento"].pos):
						if self.texto:
							main["jugador"]["nombre"] = self.texto
							main["jugador"]["lvl"] = 1
							main["jugador"]["exp"] = 0
							main["mapa"]["enable"] = True
							main["ventana"]["borrar"].append("todo")
							main["ventana"]["crear"].append("ui_topright")	
							main["ventana"]["seleccionar"].append("ui_topright")
					if self.botonatras_rec.collidepoint(main["general"]["evento"].pos):
						main["ventana"]["borrar"].append("nueva")
						main["ventana"]["seleccionar"].append("login")
					self.contador1 = 15
	
	def tecla(self,main):	# Controla si se apreto una tecla
		if self.select:
			if main["general"]["evento"].type == pygame.KEYDOWN:
				if main["general"]["evento"].key == pygame.K_ESCAPE:
						main["ventana"]["borrar"].append("nueva")
						main["ventana"]["seleccionar"].append("login")
				elif main["general"]["evento"].key == pygame.K_RETURN:
					if self.seleccion == 0:
						main["ventana"]["borrar"].append("nueva")
						main["ventana"]["seleccionar"].append("login")
					else:
						if self.texto:
							main["jugador"]["nombre"] = self.texto
							main["jugador"]["lvl"] = 1
							main["jugador"]["exp"] = 0
							main["mapa"]["enable"] = True
							main["ventana"]["borrar"].append("todo")
							main["ventana"]["crear"].append("ui_topright")	
							main["ventana"]["seleccionar"].append("ui_topright")
				elif main["general"]["evento"].key == pygame.K_BACKSPACE:
					if len(self.texto)>0:
						self.texto = self.texto[0:len(self.texto)-1]
				elif main["general"]["evento"].key == pygame.K_RIGHT or main["general"]["evento"].key == pygame.K_LEFT:
					if self.seleccion == 0:
						self.seleccion = 1
					else:
						self.seleccion = 0
				else:										# Si es una letra, se agrega a la cadena que sera el nombre del pj
					if len(self.texto) < 33:
						self.texto = self.texto + main["general"]["evento"].unicode
	
	def proceso(self,main):		# Define la img de cada boton
		self.caja = pygame.image.load('recursos/img/login/caja.png').convert()
		self.caja_rec = self.caja.get_rect(center=(main["general"]["resolucion"][0]/2,main["general"]["resolucion"][1]/2))
		tamano = self.fuente.size(self.texto)
		self.caja.blit(self.fuente.render(self.texto, True, (255,255,255)),(15,15))	# Imprime el texto que sera el nombre del pj
		if self.seleccion == 0:
			self.botonatras = self.botonatras2
			self.botonsig = self.botonsig1
		elif self.seleccion == 1:
			self.botonatras = self.botonatras1
			self.botonsig = self.botonsig2
		pos = main["ventana"]["pulsar"]["click"]["posicion"]
		if self.botonatras_rec.collidepoint(pos):
			self.botonatras = self.botonatras2
			self.seleccion = 0
		elif self.botonsig_rec.collidepoint(pos):
			self.botonsig = self.botonsig2
			self.seleccion = 1
	
	def graficar(self,main):	# Imprime todo
		main["general"]["pantalla"].blit(self.fondo,self.fondo_rec.topleft)	
		main["general"]["pantalla"].blit(self.fuente.render("Nombre", True, (255,255,255)),(self.caja_rec.left,self.caja_rec.top-35))
		main["general"]["pantalla"].blit(self.caja,self.caja_rec.topleft)
		main["general"]["pantalla"].blit(self.botonsig,self.botonsig_rec.topleft)
		main["general"]["pantalla"].blit(self.botonatras,self.botonatras_rec.topleft)
		
